<?php

class InputHelper extends Helper {
	var $helpers = array('Form', 'Ajax', 'Accessibility');
	function date($model = null, $field = null, $selected=null) {
		$months = array(	"1"=>"Janeiro",
						"2"=>"Fevereiro",
						"3"=>"Março",
						"4"=>"Abril",
						"5"=>"Maio",
						"6"=>"Junho",
						"7"=>"Julho",
						"8"=>"Agosto",
						"9"=>"Setembro",
						"10"=>"Outubro",
						"11"=>"Novembro",
						"12"=>"Dezembro");
		$fieldUpper = ucfirst(strtolower($field));
		$fieldDown = strtolower($field);
		
		if ($selected == null) {
			$selected = date('Y-m-d',time());
		}
		
		if (is_int($selected)) {
			$selected = strftime('%Y-%m-%d %H:%M:%S', $selected);
		}
		$pos = strpos($selected, '-');
		if ($pos !== false) {
			$date = explode('-', $selected);
			$days = explode(' ', $date[2]);
			$day = $days[0];
			$month = $date[1];
			$year = $date[0];
		} else {
			$days[1] = $selected;
		}
		
		
		$output = "";
		$output .= "<div>";
        $output .= "<select  class=\"select-day\" id=\"".$model.$fieldUpper."-dd\" name=\"data[".$model."][".$fieldDown."][day]\">\n";
        for ($i=1; $i<=31; $i++) {
        	if (intval($day) == $i) {
        		$sel = " selected=\"selected\" ";
        	} 
        	else { 
        		$sel = "";
        	}
        	$output .= "<option value=\"".$i."\"".$sel." >".$i."</option>\n";
        }
		$output .= "</select>";

        $output .= "<select class=\"select-month\" id=\"".$model.$fieldUpper."-mm\" name=\"data[".$model."][".$fieldDown."][month]\">\n";
        
        foreach ($months as $k => $mon) {
        	if (intval($month) == $k) {
        		$sel = " selected=\"selected\" ";
        	} 
        	else { 
        		$sel = "";
        	}
        	$output .= "<option value=\"".$k."\"".$sel." >".$mon."</option>\n";
        }
          
		$output .= "</select>\n";

		$output .= "<input type=\"text\" class=\"highlight-days-0 split-date no-transparency input-year\" ";
		$output .= "id=\"".$model.$fieldUpper."\" name=\"data[".$model."][".$fieldDown."][year]\" value=\"".$year."\"  />\n";
        
		$output .= "</div>";
		return $output;
	}

	/**
	 * Cria um conjunto estado/cidade onde quando o estado é alterado, as cidades são alteradas com AJAX
	 * 
	 * @param 	string		Tipo da operação add ou edit
	 * @param 	string		Nome do modelo onde deverá conter a cidade
	 * @param 	array		Lista dos estados
	 * @param 	int			ID do estado selecionado, quando for uma edição
	 * @param	array		Lista inicial de cidades
	 * @param	int			ID da cidade selecionada, quando for uma edição
	 * @return 	string		Retorna o código HTML dos dois inputs 
	 */
	function city($type='add', $model=null, $estados=null, $estado_selected=null, $cidades=null, $cidade_selected=null, $required=null) {
		
		$output = "";
		/* Select do estado */
		if ($required == 'required') {
			$output .= $this->Form->label($model.'.estado',$this->Accessibility->required('Estado'));
		}
		else  {
			$output .= $this->Form->label($model.'.estado','Estado');
		}
		$output .= $this->Form->select($model.'.estado', $estados, $estado_selected, null, true)."<br/>";
		$output .= $this->Ajax->observeField($model.'Estado', array('url'=>'/cidades/listAjax/'.$model.'/'.$cidade_selected.'/'.$required,'update'=>'cidades'));
				
		/* div para o innerHTML */
		$output .=  "<div id='cidades'>";
		if ($required == 'required') {
			$output .=  $this->Form->label($model.'.cidade_id',$this->Accessibility->required('Cidade'));
		}
		else {
			$output .=  $this->Form->label($model.'.cidade_id','Cidade');
		}
		if ($type == 'edit' && (!empty($cidade_selected))) {
			$output .=  $this->Form->select('cidade_id', $cidades, $cidade_selected, null);
		} else {
			$output .= $this->Form->select('cidade_id', $cidades, null, null);
		}
		$output .=  "</div>";
		/* Ajax estado - fim */
		return $output;
	}
}

?>